Processing objects for separate eye displays

ABSTRACT

Disclosed are embodiments for methods and devices for displaying images. In some example embodiments, methods may include receiving data corresponding to an image with a processor. The image data may include at least one image object. In additional example embodiments, each image object may be assigned to either a foreground image set or a background image set using a processor, for example. An example embodiment may also include rendering a first display image based on at least the foreground image set. The first display image may include the objects assigned to the foreground image set. Additionally, the objects assigned to the foreground image set may be in focus in the first display image. Embodiments may also include rendering a second display image based on at least the background image set. The second display image may include the objects assigned to the background image set. Additionally, the objects assigned to the background image set may be in focus in the second display image.

CROSS REFERENCE TO RELATED APPLICATION

The present application claims priority to U.S. patent application Ser.No. 12/941,713, filed on Nov. 8, 2010, the entire contents of which areherein incorporated by reference.

BACKGROUND

Unless otherwise indicated herein, the materials described in thissection are not prior art to the claims in this application and are notadmitted to be prior art by inclusion in this section.

Various technologies can be utilized to display information to a user ofa system. Some systems for displaying information may utilize “heads-up”displays. A heads-up display is typically positioned near the user'seyes to allow the user to view displayed images or information withlittle or no head movement. To generate the images on the display, acomputer processing system may be used. Such heads-up displays have avariety of applications, such as aviation information systems, vehiclenavigation systems, and video games.

One type of heads-up display is a head-mounted display. A head-mounteddisplay can be incorporated into a pair of glasses or a helmet that theuser can wear. The display is typically calibrated and aligned in theuser's field of view, as misalignment may cause double vision andeyestrain. A misalignment may be a shift in the x-direction,y-direction, or a combination of the x- and y-directions. Themisalignment may also be an angular misalignment, in which one displayedimage is rotated with respect to the other displayed image. Thecalibration to correct misalignment of the images may be user specificand each user may need a unique calibration to fit his or her vision.

SUMMARY

Disclosed are embodiments for methods and devices for displaying images.In an example embodiment, a method may include a processor receivingdata corresponding to an image. In the example embodiment, each objectin the image may be assigned to either a first or a second image set,such as a foreground image set or a background image set.

An example embodiment may also include rendering a first display imagebased on the objects assigned to the foreground image set. The objectsassigned to the foreground image set may be in focus (or substantiallyin focus) in the first display image. Similarly, a second display imageis rendered based on the objects assigned to the background image set.The objects assigned to the background image set may be in focus (orsubstantially in focus) in the second display image. The first displayimage may correspond to a left eye display image and the second displayimage may correspond to a right eye display image.

Additional example embodiments may include transmitting the firstdisplay image and the second display image to at least one displayprocessor. Various embodiments may include displaying the first displayimage on a first display and displaying the second display image on asecond display.

Further embodiments may include the first display image having theobjects assigned to the background image set out of focus. Additionally,some embodiments include rendering the second display image havingobjects assigned to the foreground image set out of focus.

The foregoing summary is illustrative only and is not intended to be inany way limiting. In addition to the illustrative aspects, embodiments,and features described above, further aspects, embodiments, and featureswill become apparent by reference to the drawings and the followingdetailed description.

BRIEF DESCRIPTION OF THE FIGURES

In the figures:

FIG. 1A shows an example embodiment of a system for displaying images;

FIG. 1B shows another example embodiment of a system for displayingimages;

FIG. 2A is an example apparatus for displaying images to a user;

FIG. 2B shows another example embodiment of a system for displayingimages;

FIG. 3 is an alternate embodiment for a method of displaying of images;

FIG. 4 is an alternate embodiment for a method of displaying images;

FIG. 5A is an embodiment displaying navigation images;

FIG. 5B is an embodiment of displaying point of interest images;

FIG. 5C is an embodiment of displaying phone images;

FIG. 6 is an example block diagram of a method to display images to auser;

FIG. 7 is a functional block diagram illustrating an example computingdevice; and

FIG. 8 is a schematic illustrating a conceptual partial view of anexample computer program;

all arranged in accordance with at least some embodiments of the presentdisclosure.

DETAILED DESCRIPTION

In the following detailed description, reference is made to theaccompanying figures, which form a part hereof. In the figures, similarsymbols typically identify similar components, unless context dictatesotherwise. The illustrative embodiments described in the detaileddescription, figures, and claims are not meant to be limiting. Otherembodiments may be utilized, and other changes may be made, withoutdeparting from the spirit or scope of the subject matter presentedherein. It will be readily understood that the aspects of the presentdisclosure, as generally described herein, and illustrated in thefigures, can be arranged, substituted, combined, separated, and designedin a wide variety of different configurations, all of which areexplicitly contemplated herein.

The methods and systems disclosed herein generally relate to displayingimages in a heads-up display. In some example embodiments, the systemincludes a head mounted display apparatus and processing apparatus. Thehead mounted display may be configured with two separate displays, oneconfigured in front, near, or about each eye as further discussedherein.

1. System for Display of Objects on Near Eye Displays Overview

FIG. 1A shows an example embodiment of a system for displaying images.In one system 100, a display device 104, such as a head mounted displayin this example, is coupled to a computing device 102 with acommunication link 106. The display device 104 may contain hardware toenable a wireless communication link. The computing device 102 may be adesktop computer, a television device, or a portable electronic devicesuch as a laptop computer or cellular phone, for example. The computingdevice 102 is not meant to be limiting, as any device that may need adisplay could substitute for computing device 102. The communicationlink 106 may transfer image or textual data to the display device 104 ormay transfer unprocessed data. The display unit 104 may contain aprocessor to compute the displayed images based on received data.

Additionally, the communication link 106 connecting the computing device102 with the display 104 may be one of many communication technologies.For example, the communication link 106 may be a wired link via a serialbus such as USB, or a parallel bus. A wired connection may be aproprietary connection as well. The communication link 106 may also be awireless connection, such as Bluetooth, IEEE 802.11 (IEEE 802.11 mayrefer to IEEE 802.11-2007, IEEE 802.11n-2009, or any other IEEE 802.11revision), or other wireless based communication link.

FIG. 1B shows another example embodiment of a system for displayingimages. In the system 150, a computing device 152 is coupled to anetwork 156 via a first communication link 154. The network 156 may becoupled to a display device 160 via a second communication link 158. Thedisplay device 160 may contain hardware to enable a wirelesscommunication link. The first communication link 154 may transfer imagedata to the network 156 or may transfer unprocessed data. The displaydevice 160 may contain a processor to compute the displayed images basedon received data.

In some embodiments, the first communication link 154 may be provided bythe internet. This may be a wired connection via coaxial cable, ethernetcable, or telephone cable. The first communication link 154 may also bewireless, operating on an 802.11 wifi protocol. In some embodiments, thenetwork 156 may be a cellular based connection such as GSM, CDMA, UMTS,EV-DO, WiMAX, or LTE and may provide the second communication link 158.Additionally, the network 156 may provide the second communication link158 by a different radio frequency based network, and may be anycommunication link of sufficient bandwidth to transfer images or data,for example.

The systems 100 or 150 receive data corresponding to an image. The datareceived may be a computer image file, a computer video file, an encodedvideo or data stream, three-dimensional rendering data, or openGL datafor rendering. In some embodiments, the data may also be sent as plaintext. The text could be rendered into objects or the system couldtranslate the text into objects. To render an image, the system maywrite information associated with the image to a data file, for example.

A processor in the system may be configured to interpret the data andform an image. Additionally, the processor may be configured to identifyat least one object within the image data and render images. Inembodiments where a data stream is received, the processor may beconfigured to determine objects from the received data. Further detailsof the processor operation are described herein.

2. Example Embodiments of Display of Objects on Near Eye Displays

FIG. 2A is an example apparatus for displaying images to a user thatcould be utilized in the systems of FIGS. 1A and 1B. In an exampleembodiment, a heads-up display unit 200 may comprise a pair of glasses202 with a left and a right eye lens that are each configured to bepositioned in approximately the same plane so that the left an the righteye lens are positioned approximately side-by-side. The example heads-updisplay 200 can be coupled to a phone (e.g., wired or wireless), and thephone can be configured to relay data to a user via the heads-up display200.

The glasses 202 are merely an example; any type of near eye display unitcontaining a display apparatus may be used, such as a helmet, contactlens, goggles, and glasses. Further example embodiments may include adisplay comprising a liquid crystal display (LCD), light emitting diodes(LEDs), a molded polymer display, or a free space reflection display, orother means of image generation, for example. Additional exampleembodiments may include a waveguide in the display for generating imagesin front of the user's eyes. The display means and display housing arenot meant to limit the scope of the present application.

In some embodiments, such as those with glasses or goggles, the display200 may be separated from a user's eyes by approximately 1.5 cm. Inother embodiments, such as with contact lenses, the separation distancemay be decreased. In some embodiments, there may be two displays, onefor each eye, and in this example, it may be desirable for each displayto only be visible by one eye.

Various embodiments may classify objects in a displayed image into twodifferent object sets as described in more detail in the discussion ofFIG. 6. Briefly, a three dimensional scene may be rendered with aclipping plane to determine a transition threshold from foreground tobackground. A position of the clipping plane classifies object as eitherforeground objects or background objects. A clipping plane may bethought of as a threshold distance for the separation of the foregroundregion and background region. The terms foreground and background aremerely example classifications. The image sets may also be considered aleft eye image set and a right eye image set or other classificationdesignations.

Objects that are a part of the foreground image set can be rendered infocus as part of the first display image. Similarly, a second displayimage may be rendered with the background image set objects in focus, asdiscussed in more detail with regard to FIGS. 3 and 4.

In an example embodiment of FIG. 2A, clock 204 showing the current time“9:50 am”, signal strength meter 206, and battery status 208 are objectsthat may be associated with a mobile phone, which relays data associatedwith these objects to the heads-up display 200, for example. In theexample of FIG. 2A, the clock 204 showing the current time may beconsidered a background object and a signal strength meter 206 and abattery status 208 may be considered foreground objects.

After the objects have been classified as either as foreground orbackground objects, two different images can be rendered, one for a leftdisplay 210 and one for a right display 212. All the background objectscan be displayed to one display, such as the left display 110, while theforeground objects can be displayed to the right display 212.

By way of example, FIG. 2B is an example field of vision for a user. Auser wearing the glasses 202 of the heads-up display 200 may have afield of vision 250, as depicted in FIG. 2B, for example. To a userwearing the glasses 202, an apparent field of vision 270 may compriseall objects rendered on the left display 210 and on the right display212. For example, a user may be able to see a clock 254, a signal status256, and a battery status 258.

Both the foreground objects 256 and 258, and the background object 254may be present in the field of vision 270. A user wearing the glasses202 may be able to see the full set of objects within the field of view270. The user wearing the glasses 202 may not know whether an object isassigned to the foreground object set or background object set since allobjects may appear in the field of vision 270. An end user may choose tohave foreground objects placed in front of his or her dominate eye forviewing ease.

By placing objects in front of one eye, a constraint for calibration oraccurate calibration to align the images in each display may be loweredor removed. The user's brain may visually interpolate the displayedimages. A user may be able to see the objects in his or her field ofvision.

FIG. 3 is an alternate embodiment for a method of displaying of images.Image 300 comprises a foreground 304 and background image 302 to bepresented in the displays. In this embodiment, the background image 302has a hole or space provided approximately equal in size and shape tothe foreground image 304. The foreground image 304 may be renderedalone. The hole in background image 302 may not be the same size andshape as the foreground image 304, and the hole may not be aligned withthe foreground image 304. In some embodiments, the hole has edgesblurred or feathered so that the edges are not sharp and blend in withthe background image 302.

When the background image 302 is presented to one eye and the foregroundimage 304 is presented to the other eye, the brain may determine thesharp foreground image 304 in front of (or substantially in front of)the background image 302. The brain may fill in the hole in thebackground image 302 with the foreground image 304. A user may be ableto see both the foreground image 304 and the background image 302 infocus.

FIG. 4 is an alternate embodiment for a method of displaying images.Image 400 is an embodiment similar to image 300. A background image 402contains a background object (e.g., boards) rendered in focus and maycontain a blurred region in an area approximately equal in size andshape to a foreground object (e.g., paper clip). The foreground image404 can contain a foreground object (paper clip) rendered in focus and ablurred portion of the image corresponding to the background object(boards). Features that may be presented crisply in one image may bepresented blurry in the corresponding image, for example. In someembodiments, the images to be blurred are first presented as an in-focusimage and later blurred by a filter on a graphics processor before thein-focus objects are rendered.

When the background image 402 is presented to one eye, and theforeground image 404 is presented to the other eye, the brain maysuperimpose the in-focus objects for the blurry objects. Thesuperimposing may result in a user seeing in-focus foreground objects(paper clip) from the foreground image 404 in front of in-focusbackground objects (boards) from the background image 402. The brain maycompensate for the blurred regions.

Using either of the embodiments illustrated in FIGS. 3 and 4, images maybe presented to glasses of a heads-up display, such that a foregroundimage is presented to a left display of the glasses and the backgroundimage is presented to a right display of the glasses, for example.

FIG. 5A is an embodiment displaying navigation images. In an exampleembodiment, a display apparatus 500 may be coupled to a globalpositioning system device (GPS), mobile device, or computer fornavigational purposes. Each display on a headset 502 may displaydifferent information about the navigational instructions. For example,a turn indicator 504 may notify a driver to turn in 1.4 miles and a mapicon 506 may show a current driving path. In some embodiments, a user ofthe display apparatus 500 may customize what graphics are shown andwhere the graphics are positioned. In additional embodiments, thedisplay apparatus 500 may contain different sensors to coupleinformation to a mobile device, or computer. For example, sensors mayinclude radio receivers, like a GPS receiver, compasses, accelerometers,and gyroscopes. The sensors may provide location information, headorientation information, and/or movement information.

In one embodiment, the display apparatus 500 may be coupled to a mobiledevice. The mobile device may be configured to allow configuration ofthe display apparatus 500. The mobile device may have a menu system toconfigure graphics, and the mobile device can render images for displayon the display apparatus 500 based upon a user's configuration. Theconfiguration may be, but is not limited to, the position of objects,the color of objects, the size of objects, and the presence of objects.For example, a user may not wish to see the map icon 506, and thus, onlythe turn indicator 504 may be displayed. This embodiment is not limitedto driving and may be useful in any situation requiring navigation, suchas boating, skiing, walking, jogging, flying, or biking.

FIG. 5B is an embodiment of displaying point of interest images. In anexample embodiment, a display apparatus 550 may be coupled to a GPS,mobile device, or computer for point of interest purposes. Each displayon a headset 552 may display different information about a point ofinterest. For example, a distance indicator 554 may notify a user thatthe user is located 300 feet from a restaurant and a point of interest556 places a pinpoint on the location of a restaurant. In someembodiments, a user of the display apparatus 50 may customize whatobjects are shown.

In additional embodiments, the display apparatus 550 may containsensors; the sensors may include radio receivers, like a GPS receiver,compasses, accelerometers, and gyroscopes. The sensors may providelocation information, head orientation information, and/or movementinformation. For example, if a user wearing the display apparatus 550turns or moves his or her head to the right, the point of interest 556may move closer to the center, tracking the location of the restaurant.Display apparatus 550 may use more information than a GPS coordinate,such as for example, the direction a user is looking (heading) as wellas the tilt of a user's head. Additional sensors for these measurementsmay be placed in the display apparatus 550.

FIG. 5C is an embodiment of displaying phone images, or imagesassociated with a phone. In an example embodiment, a display apparatus570 may be coupled to a mobile device such as a cellular phone. Eachdisplay on a headset 572 may display different information about themobile device. For example, a call indicator 574 may notify a user thatthe user is receiving a phone call from phone number 555-0100 and acaller ID indicator 576 may notify that the calling party is John Doe.In some embodiments, a user of the display apparatus 570 may customizewhat objects are shown, such as omitting either the call indicator 574or the caller ID indicator 576, for example.

The information that may be provided to a user from the displayapparatus 570 is not limited to the call indicator 574 or the caller IDindicator 576. For example, in some embodiments, the call indicator 574or the caller ID indicator 576 may display contents of a text message(SMS) sent to the mobile device. The call indicator 574 or the caller IDindicator 576 may also display contents of a phone book associated withthe mobile device, allowing a user to browse phone book contacts withoutlooking at the screen of the mobile device. The display apparatus 570may also be configured to display other information from a mobiledevice, such as calendar events or email, for example.

3. Example Embodiments of Display Methods

FIG. 6 is an example block diagram of a method to display images to auser, in accordance with at least some embodiments described herein.Method 600 shown in FIG. 6 presents an embodiment of a method that, forexample, could be used with the apparatuses 100 and 150, the systems 200and 250, the images 300 and 400, images 500, 550, and 570, apparatus700, and/or apparatus 800. Method 600 may include one or moreoperations, functions, or actions as illustrated by one or more ofblocks 602, 604, 606, and 608. Although the blocks are illustrated in asequential order, these blocks may also be performed in parallel, and/orin a different order than those described herein. Also, the variousblocks may be combined into fewer blocks, divided into additionalblocks, and/or eliminated based upon the desired implementation.

Method 600 may begin at block 602, “RECEIVE IMAGE DATA.” In someexamples of block 602, data is received corresponding to an image (e.g.,an image file). The image data may comprise at least one object. In someembodiments, the data received may be a computer image file, such as aJPEG, GIF, PNG, or other image format. In other embodiments, the datamay be a computer video file, such as MPG, MOV, AVI, or other videoformat. In further embodiments, the data may be data encoded in a waythe system will be able to interpret the data as image data, such asdata relating to objects from an image library or data relating to athree dimensional model. The data may also be OpenGL data for rendering,or plain text that could be rendered into objects or a processor couldtranslate the text into objects.

A processor in a system may be configured to interpret the data and forman image. Additionally, the processor may be configured to identify atleast one object within the image data. In some embodiments, an imagefile may be considered an object. In other embodiments, the processormay divide an image file or video file into multiple objects. Inembodiments where a data stream is received, the processor may beconfigured to determine objects from the received data.

Block 602 may be followed by block 604, “ASSIGN IMAGE OBJECTS TO ONE OFTWO IMAGE SETS.” In some examples of block 604, the objects are assignedto either a foreground image set or a background image set (the termsforeground and background are merely example classifications and may notimply a spatial relationship). Objects can be assigned to the foregroundimage set or the background image set based on a variety of criteria.

In one embodiment, the data received may be OpenGL data. The OpenGL maybe rendered with a processor into a three dimensional scene. Therendered scene may include a clipping plane. The clipping plane can beconsidered a transition from foreground to background. The system,software programmer, or an end user may determine a position of theclipping plane. Objects in front of the clipping plane can be added tothe foreground object set and objects farther than the clipping planecan be added to the background object set.

Additional embodiments may include graphic libraries to determinewhether an object is a foreground object or background object. Eachgraphic in the library may have a tag assigning the graphic as either asa foreground or background object as may be chosen by a softwaredeveloper, end user, or dynamically by the processing system. Thegraphic library may comprise different images along with a foreground orbackground tag. In additional embodiments, the graphic library maycomprise video information and images, each having a foreground orbackground tag.

Block 604 may be followed by block 606, “RENDER A FIRST DISPLAY IMAGEBASED ON AT LEAST THE FIRST IMAGE SET.” In some examples of block 606,the first display image is rendered based on at least the foregroundimage set. In some embodiments, the image is rendered based on thegraphics library. The objects that are a part of the foreground imageset are rendered in focus (or substantially in focus) as part of thefirst display image. A degree to which the image is rendered in focusmay vary depending upon a user's viewpoint.

In one example, an image may be rendered in focus by rendering the imagein 20/20 vision or substantially 20/20 vision, e.g., rendering an imagein a manner such that a visual acuity or clearness of vision of theimage is high. Object placement in the first display image may bedetermined by the processing system, a user, a programmer, or thegraphic library. Some objects may have predefined locations within adisplay image. In additional embodiments, the image is rendered with aprocessor based on OpenGL data. The OpenGL data renders an in-focusimage comprising foreground objects. In further embodiments, the objectsmay be plain text to be rendered. The plain text may be converted to agraphic object before being rendered in the first display image.

In some embodiments, the first display image may also contain objectsassigned to the background image set. When objects assigned to thebackground image set are rendered in the first display image, it may bedesirable to render the objects out of focus or blurry. A degree towhich the objects are out of focus may vary from slight out of focuswhere the object is discernable to substantially out of focus where theobject is no longer discernable. In one example, the background objectmay have blurred edges or other features rendered out of focus. Inadditional embodiments, after the first display image is rendered, holesmay be provided in the image or formed in the image corresponding to theplacement of background object in a second display image. The hole maybe a rough cut-out area of the first display image, or may substantiallyrepresent the first display image, for example.

In further embodiments, the first display image is rendered with bothforeground objects and background objects in focus or substantially infocus. For example, the system may render the background objects infocus to the first display image, blur the image with the graphicsprocessor, and then render the foreground objects in focus to the samedisplay image. The resulting first display image would have theforeground objects in focus and the background objects blurred. Therendering library/graphics processor could preserve the front-to-backordering of the rendered objects using a z-buffer algorithm. Inaddition, or alternatively, foreground objects may be rendered first tothe second display image, then blurred, and following, backgroundobjects may be rendered in focus and to produce a desired result for thesecond display image, for example.

Block 606 may be followed by block 608, “RENDER A SECOND DISPLAY IMAGEBASED ON AT LEAST THE SECOND IMAGE SET.” In some examples of block 608,the second display image is rendered with a processor based on at leastthe background image set. In some embodiments, the image is renderedbased on the graphics library. The objects that are a part of thebackground image set are rendered in-focus as part of the second displayimage. The system, a user, a programmer, or the graphic library maydetermine object placement in the second display image. Some objects mayhave predefined locations within a display image. In additionalembodiments, the image is rendered based on OpenGL data. The OpenGL datarenders an in-focus image comprising background objects. In furtherembodiments, the objects may be plain text to be rendered. The plaintext may be converted to a graphic object before being rendered in thesecond display image.

In some embodiments, the second display image may also contain objectsassigned to the foreground image set. When objects assigned to theforeground image set are rendered in the second display image, it may bedesirable to render the objects out of focus or blurry as previouslyshown in FIG. 4. The foreground object may have blurred edges or otherfeatures rendered out of focus. In additional embodiments, after thesecond display image is rendered, holes may be provided in the imagecorresponding to the placement of foreground object in the first displayimage as previously shown in FIG. 3. The hole may be a rough cut outarea of the first display image.

In further embodiments, the second display image is rendered with bothbackground objects and foreground objects in focus or substantially infocus. For example, the system may render the foreground objects infocus to the second display image, then blur the image with the graphicsprocessor, and then render the background objects in focus to the samedisplay image. The resulting second display image would have thebackground objects in focus and the foreground objects blurred. Therendering library/graphics processor could preserve the front-to-backordering of the rendered objects using the z-buffer algorithm that maybe used in such circumstances. In addition, or alternatively, backgroundobjects may be rendered first to the first display image, blurred, thenforeground objects may be rendered in focus and to produce a desiredresult for the first display image, for example.

4. Example Hardware for Display of Objects on Near Eye Displays

FIG. 7 is a functional block diagram illustrating an example computingdevice used in a computing system that is arranged in accordance with atleast some embodiments described herein. The computing device may be apersonal computer, mobile device, cellular phone, video game system, orglobal positioning system. In a very basic configuration 701, computingdevice 700 may typically include one or more processors 710 and systemmemory 720. A memory bus 730 can be used for communicating between theprocessor 710 and the system memory 720. Depending on the desiredconfiguration, processor 710 can be of any type including but notlimited to a microprocessor (μP), a microcontroller (μC), a digitalsignal processor (DSP), or any combination thereof. A memory controller715 can also be used with the processor 710, or in some implementations,the memory controller 715 can be an internal part of the processor 710.

Depending on the desired configuration, the system memory 720 can be ofany type including but not limited to volatile memory (such as RAM),non-volatile memory (such as ROM, flash memory, etc.) or any combinationthereof. System memory 720 typically includes one or more applications722, and program data 724. Application 722 may include an image displayalgorithm 723 that is arranged to provide inputs to the electroniccircuits, in accordance with the present disclosure. Program Data 724may include image data 725 that could provide image data to theelectronic circuits. In some example embodiments, application 722 can bearranged to operate with program data 724 on an operating system 721.This described basic configuration is illustrated in FIG. 7 by thosecomponents within dashed line 701.

Computing device 700 can have additional features or functionality, andadditional interfaces to facilitate communications between the basicconfiguration 701 and any devices and interfaces. For example, the datastorage devices 750 can be removable storage devices 751, non-removablestorage devices 752, or a combination thereof. Examples of removablestorage and non-removable storage devices include magnetic disk devicessuch as flexible disk drives and hard-disk drives (HDD), optical diskdrives such as compact disk (CD) drives or digital versatile disk (DVD)drives, solid state drives (SSD), and tape drives to name a few.Computer storage media can include volatile and nonvolatile, removableand non-removable media implemented in any method or technology forstorage of information, such as computer readable instructions, datastructures, program modules, or other data.

System memory 720, removable storage 751, and non-removable storage 752are all examples of computer storage media. Computer storage mediaincludes, but is not limited to, RAM, ROM, EEPROM, flash memory or othermemory technology, CD-ROM, digital versatile disks (DVD) or otheroptical storage, magnetic cassettes, magnetic tape, magnetic diskstorage or other magnetic storage devices, or any other medium which canbe used to store the desired information and which can be accessed bycomputing device 700. Any such computer storage media can be part ofdevice 700.

Computing device 700 can also include output interfaces 760 that mayinclude a graphics processing unit 761, which can be configured tocommunicate to various external devices such as display devices 792 orspeakers via one or more A/V ports 763 or a communication interface 780.A communication interface 780 may include a network controller 781,which can be arranged to facilitate communications with one or moreother computing devices 790 over a network communication via one or morecommunication ports 782. The communication connection is one example ofa communication media. Communication media may typically be embodied bycomputer readable instructions, data structures, program modules, orother data in a modulated data signal, such as a carrier wave or othertransport mechanism, and includes any information delivery media. A“modulated data signal” can be a signal that has one or more of itscharacteristics set or changed in such a manner as to encode informationin the signal. By way of example, and not limitation, communicationmedia can include wired media such as a wired network or direct-wiredconnection, and wireless media such as acoustic, radio frequency (RF),infrared (IR) and other wireless media. The term computer readable mediaas used herein can include both storage media and communication media.

Computing device 700 can be implemented as a portion of a small-formfactor portable (or mobile) electronic device such as a cell phone, apersonal data assistant (PDA), a personal media player device, awireless web-watch device, a personal headset device, an applicationspecific device, or a hybrid device that include any of the abovefunctions. Computing device 700 can also be implemented as a personalcomputer including both laptop computer and non-laptop computerconfigurations.

It should be further understood that arrangements described herein arefor purposes of example only. As such, those skilled in the art willappreciate that other arrangements and other elements (e.g. machines,interfaces, functions, orders, and groupings of functions, etc.) can beused instead, and some elements may be omitted altogether according tothe desired results. Further, many of the elements that are describedare functional entities that may be implemented as discrete ordistributed components or in conjunction with other components, in anysuitable combination and location.

The present disclosure is not to be limited in terms of the particularembodiments described in this application, which are intended asillustrations of various aspects. Many modifications and variations canbe made without departing from its spirit and scope, as will be apparentto those skilled in the art. Functionally equivalent methods andapparatuses within the scope of the disclosure, in addition to thoseenumerated herein, will be apparent to those skilled in the art from theforegoing descriptions. Such modifications and variations are intendedto fall within the scope of the appended claims.

In some embodiments, the disclosed methods may be implemented ascomputer program instructions encoded on a computer-readable storagemedia in a machine-readable format. FIG. 8 is a schematic illustrating aconceptual partial view of an example computer program product 800 thatincludes a computer program for executing a computer process on acomputing device, arranged according to at least some embodimentspresented herein. In one embodiment, the example computer programproduct 800 is provided using a signal bearing medium 801. The signalbearing medium 801 may include one or more programming instructions 802that, when executed by one or more processors may provide functionalityor portions of the functionality described above with respect to FIGS.1-6. Thus, for example, referring the embodiment shown in FIG. 6, one ormore features of blocks 602, 604, 606, and/or 608 may be undertaken byone or more instructions associated with the signal bearing medium 801.

In some examples, the signal bearing medium 801 may encompass acomputer-readable medium 803, such as, but not limited to, a hard diskdrive, a Compact Disc (CD), a Digital Video Disk (DVD), a digital tape,memory, etc. In some implementations, the signal bearing medium 801 mayencompass a computer recordable medium 804, such as, but not limited to,memory, read/write (R/W) CDs, R/W DVDs, etc. In some implementations,the signal bearing medium 801 may encompass a communications medium 805,such as, but not limited to, a digital and/or an analog communicationmedium (e.g., a fiber optic cable, a waveguide, a wired communicationslink, a wireless communication link, etc.). Thus, for example, thesignal bearing medium 801 may be conveyed by a wireless form of thecommunications medium 805 (e.g., a wireless communications mediumconforming with the IEEE 802.11 standard or other transmissionprotocol).

The one or more programming instructions 802 may be, for example,computer executable and/or logic implemented instructions. In someexamples, a computing device such as the computing device 700 of FIG. 7may be configured to provide various operations, functions, or actionsin response to the programming instructions 802 conveyed to thecomputing device 700 by one or more of the computer readable medium 803,the computer recordable medium 804, and/or the communications medium805.

While various aspects and embodiments have been disclosed herein, otheraspects and embodiments will be apparent to those skilled in the art.The various aspects and embodiments disclosed herein are for purposes ofillustration and are not intended to be limiting, with the true scopeand spirit being indicated by the following claims, along with the fullscope of equivalents to which such claims are entitled. It is also to beunderstood that the terminology used herein is for the purpose ofdescribing particular embodiments only, and is not intended to belimiting.

1. A method for displaying images comprising: receiving data, with aprocessor, corresponding to an image, the data comprising at least oneimage object; assigning, with the processor, the image object to a firstimage set or a second image set; rendering, with the processor, a lefteye display image based on at least the first image set, wherein theleft eye display image comprises objects assigned to the first imageset, and wherein the objects of the first image set are rendered to theleft eye display image substantially in focus; and rendering, with theprocessor, a right eye display image based on at least the second imageset, wherein the right eye display image comprises objects assigned tothe second image set, and wherein the objects of the second image setare rendered to the right eye display image substantially in focus. 2.The method of claim 1, wherein the first image set is a foreground imageset and the second image set is a background image set.
 3. The method ofclaim 1, wherein the first image set is a background image set and thesecond image set is a foreground image set.
 4. The method of claim 1,further comprising displaying the left eye display image on a left eyedisplay and displaying the right eye display image on a right eyedisplay.
 5. The method of claim 1, wherein rendering the left eyedisplay image comprises further rendering objects assigned to the secondimage set, and wherein objects assigned to the second image set are outof focus.
 6. The method of claim 1, wherein rendering the right eyedisplay image comprises further rendering objects assigned to the firstimage set, and wherein objects assigned to the first image set are outof focus.
 7. The method of claim 1, wherein rendering the right eyedisplay image comprises rendering the objects assigned to the secondimage set with at least one hole corresponding to the objects in theleft eye display image.
 8. The method of claim 1, wherein rendering theleft eye display image comprises rendering the objects assigned to thefirst image set with at least one hole corresponding to the objects inthe right eye display image.
 9. An apparatus for displaying imagescomprising: means for receiving data corresponding to an image, the datacomprising at least one image object; means for assigning the imageobject to either a first image set or a second image set; means forrendering a left eye display image based on at least the first imageset, wherein the left eye display image comprises objects assigned tothe first image set, and wherein the objects of the first image set arerendered to the left eye display image substantially in focus; and meansfor rendering a right eye display image based on at least the secondimage set, wherein the right eye display image comprises objectsassigned to the second image set, and wherein the objects of the secondimage set are rendered to the right eye display image substantially infocus.
 10. The apparatus of claim 9, further comprising a first meansfor displaying the left eye display image and a second means fordisplaying the right eye display image.
 11. The apparatus of claim 9,wherein means for rendering the left eye display image comprises furthermeans for rendering objects assigned to the second image set, andwherein objects assigned to the second image set are out of focus. 12.The apparatus of claim 9, wherein means for rendering the right eyedisplay image comprises further means for rendering objects assigned tothe first image set, and wherein objects assigned to the first image setare out of focus.
 13. An article of manufacture including a tangiblenon-transitory computer-readable media having computer-readableinstructions encoded thereon, the instructions comprising: instructionsfor receiving data corresponding to an image, the data comprising atleast one image object; instructions for assigning the image object toeither a first image set or a second image set; instructions forrendering a left eye display image based on at least the first imageset, wherein the left eye display image comprises objects assigned tothe first image set, and wherein the objects of the first image set arerendered to the left eye display image substantially in focus; andinstructions for rendering a right eye display image based on at leastthe second image set, wherein the right eye display image comprisesobjects assigned to the second image set, and wherein the objects of thesecond image set are rendered to the right eye display imagesubstantially in focus.
 14. The article of manufacture of claim 13,wherein the first image set is a foreground image set and the secondimage set is a background image set.
 15. The article of manufacture ofclaim 13, wherein the first image set is a background image set and thesecond image set is a foreground image set.
 16. The article ofmanufacture of claim 13, further comprising instructions for displayingthe left eye display image on a left eye display and displaying theright eye display image on a right eye display.
 17. The article ofmanufacture of claim 13, wherein instructions for rendering the left eyedisplay image comprises further instructions for rendering objectsassigned to the second image set, and wherein objects assigned to thesecond image set are out of focus.
 18. The article of manufacture ofclaim 13, wherein instructions for rendering the right eye display imagecomprises further instructions for rendering objects assigned to thefirst image set, and wherein objects assigned to the first image set areout of focus.
 19. The article of manufacture of claim 13, whereininstructions for rendering the right eye display image comprisesinstructions for rendering the objects assigned to the second image setwith at least one hole corresponding to the objects in the left eyedisplay image.
 20. The article of manufacture of claim 13, whereininstructions for rendering the left eye display image comprisesinstructions for rendering the objects assigned to the first image setwith at least one hole corresponding to the objects in the right eyedisplay image.